<?php
namespace App\Observers;

use App\Models\MConfig;

/**
 * 系统配置项模型观察者
 *
 * 可观察事件 :
 * 'creating', 'created', 'updating', 'updated',
 * 'deleting', 'deleted', 'saving', 'saved',
 * 'restoring', 'restored',
 */
class MConfigObserver
{
    /**
     * 创建成功
     */
    public function created(MConfig $config)
    {
        $this->refreshInstance($config);
    }

    /**
     * 存储成功
     */
    public function saved(MConfig $config)
    {
        $this->refreshInstance($config);
    }

    /**
     * 更新成功
     */
    public function updated(MConfig $config)
    {
        $this->refreshInstance($config);
    }

    /**
     * 更新单例模式中的单例模型
     */
    public function refreshInstance(MConfig $config)
    {
        MConfig::setInstance($config);
    }
}